[INFO] fetching crate mco-redis 0.1.2...
[INFO] checking mco-redis-0.1.2 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate mco-redis 0.1.2 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate mco-redis 0.1.2 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate mco-redis 0.1.2
[INFO] finished tweaking crates.io crate mco-redis 0.1.2
[INFO] tweaked toml for crates.io crate mco-redis 0.1.2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate mco-redis 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mco-gen v0.1.0
[INFO] [stderr]   Downloaded semver v1.0.5
[INFO] [stderr]   Downloaded btoi v0.4.2
[INFO] [stderr]   Downloaded mco v0.1.38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c8a632aa91a8d1e38a572b200fbb81554b6639451b3325533445231c46512612
[INFO] running `Command { std: "docker" "start" "-a" "c8a632aa91a8d1e38a572b200fbb81554b6639451b3325533445231c46512612", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8a632aa91a8d1e38a572b200fbb81554b6639451b3325533445231c46512612", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8a632aa91a8d1e38a572b200fbb81554b6639451b3325533445231c46512612", kill_on_drop: false }`
[INFO] [stdout] c8a632aa91a8d1e38a572b200fbb81554b6639451b3325533445231c46512612
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e747b50db84252f0f20c51025a63e99945434da1f16c43898f351154ce34af8b
[INFO] running `Command { std: "docker" "start" "-a" "e747b50db84252f0f20c51025a63e99945434da1f16c43898f351154ce34af8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.118
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.7
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.7
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.4
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling mco v0.1.38
[INFO] [stderr]     Checking lock_api v0.4.6
[INFO] [stderr]     Checking getrandom v0.2.4
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking num_threads v0.1.3
[INFO] [stderr]     Checking nix v0.21.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling mco-gen v0.1.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking btoi v0.4.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]     Checking time v0.3.7
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking mco-redis v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/connector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::RecvError`
[INFO] [stdout]  --> src/client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::mpsc::RecvError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Codec`
[INFO] [stdout]  --> src/client.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::codec_redis::{Codec, Request, Response};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/simple.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteString`
[INFO] [stdout]  --> src/simple.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bytes::{BufMut, BytesMut, ByteString};
[INFO] [stdout]   |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::array`
[INFO] [stdout]    --> src/codec_redis.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |     use crate::array;
[INFO] [stdout]     |         ^^^^^^^^^^^^ no `array` in the root
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]     |
[INFO] [stdout] 679 |     use core::array;
[INFO] [stdout]     |         ~~~~~~~~~~~
[INFO] [stdout] 679 |     use std::array;
[INFO] [stdout]     |         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `ntex`
[INFO] [stdout]    --> src/codec_redis.rs:675:9
[INFO] [stdout]     |
[INFO] [stdout] 675 |     use ntex::codec::{Decoder, Encoder};
[INFO] [stdout]     |         ^^^^ use of undeclared crate or module `ntex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `ntex`
[INFO] [stdout]    --> src/codec_redis.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |     use ntex::util::{ByteString, Bytes, BytesMut, HashMap};
[INFO] [stdout]     |         ^^^^ use of undeclared crate or module `ntex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::BytesMut`, `crate::BytesVec`
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:975:17
[INFO] [stdout]     |
[INFO] [stdout] 975 |     use crate::{BytesMut, BytesVec};
[INFO] [stdout]     |                 ^^^^^^^^  ^^^^^^^^ no `BytesVec` in the root
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 no `BytesMut` in the root
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing one of these items instead:
[INFO] [stdout]             bytes::BytesMut
[INFO] [stdout]             crate::bytes::BytesMut
[INFO] [stdout]     = help: consider importing this struct through its public re-export instead:
[INFO] [stdout]             crate::bytes::BytesVec
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/connector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::RecvError`
[INFO] [stdout]  --> src/client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::mpsc::RecvError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Codec`
[INFO] [stdout]  --> src/client.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::codec_redis::{Codec, Request, Response};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/simple.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteString`
[INFO] [stdout]  --> src/simple.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bytes::{BufMut, BytesMut, ByteString};
[INFO] [stdout]   |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/codec_redis.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]    --> src/bytes/string.rs:419:29
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let s: ByteString = serde_json::from_str(r#""nice bytes""#).unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]    --> src/bytes/string.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let s = serde_json::to_string(&ByteString::from_static("nice bytes")).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/codec_redis.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/simple.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut req = cmd.to_request();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/connector.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         conn.set_read_timeout(Some(timeout.clone()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = conn.set_read_timeout(Some(timeout.clone()));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/connector.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         conn.set_write_timeout(Some(timeout));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let _ = conn.set_write_timeout(Some(timeout));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | /                         s.send(match io_clone.send(&data){
[INFO] [stdout] 35 | |                             Ok(d)=>{
[INFO] [stdout] 36 | |                                 Ok(d)
[INFO] [stdout] 37 | |                             }
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |                             }
[INFO] [stdout] 41 | |                         });
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |                         let _ = s.send(match io_clone.send(&data){
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 self.queue.0.send((buf,tx));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 let _ = self.queue.0.send((buf,tx));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/simple.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         io.flush();
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = io.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/simple.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut req = cmd.to_request();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> examples/basic.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> benches/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         redis.exec(cmd::Get("test"));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = redis.exec(cmd::Get("test"));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mco-redis` (lib test) due to 7 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "e747b50db84252f0f20c51025a63e99945434da1f16c43898f351154ce34af8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e747b50db84252f0f20c51025a63e99945434da1f16c43898f351154ce34af8b", kill_on_drop: false }`
[INFO] [stdout] e747b50db84252f0f20c51025a63e99945434da1f16c43898f351154ce34af8b
[INFO] checking mco-redis-0.1.2 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate mco-redis 0.1.2 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate mco-redis 0.1.2 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate mco-redis 0.1.2
[INFO] finished tweaking crates.io crate mco-redis 0.1.2
[INFO] tweaked toml for crates.io crate mco-redis 0.1.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate crates.io crate mco-redis 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ab7e0e3302d49c206c9c81faccfdaac69b4058be61a36eaf9df3c57f347d7e6
[INFO] running `Command { std: "docker" "start" "-a" "7ab7e0e3302d49c206c9c81faccfdaac69b4058be61a36eaf9df3c57f347d7e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ab7e0e3302d49c206c9c81faccfdaac69b4058be61a36eaf9df3c57f347d7e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ab7e0e3302d49c206c9c81faccfdaac69b4058be61a36eaf9df3c57f347d7e6", kill_on_drop: false }`
[INFO] [stdout] 7ab7e0e3302d49c206c9c81faccfdaac69b4058be61a36eaf9df3c57f347d7e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8b025eb199b231f9e4941b8bb850951332c433f0b9ccc308dd9aeb40eba5b0c7
[INFO] running `Command { std: "docker" "start" "-a" "8b025eb199b231f9e4941b8bb850951332c433f0b9ccc308dd9aeb40eba5b0c7", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.118
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling crossbeam-utils v0.8.7
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.7
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling crossbeam-queue v0.3.4
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling mco v0.1.38
[INFO] [stderr]     Checking lock_api v0.4.6
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking num_threads v0.1.3
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking getrandom v0.2.4
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]    Compiling mco-gen v0.1.0
[INFO] [stderr]     Checking nix v0.21.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]     Checking btoi v0.4.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]     Checking time v0.3.7
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking mco-redis v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:572:49
[INFO] [stdout]     |
[INFO] [stdout] 572 |     let (pos, int_str) = if let Some(pos) = buf[idx..].windows(2).position(|w| w == b"\r\n") {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:573:30
[INFO] [stdout]     |
[INFO] [stdout] 573 |         (idx + pos + 2, &buf[idx..idx + pos])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::array`
[INFO] [stdout]    --> src/codec_redis.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |     use crate::array;
[INFO] [stdout]     |         ^^^^^^^^^^^^ no `array` in the root
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]     |
[INFO] [stdout] 679 |     use core::array;
[INFO] [stdout]     |         ~~~~~~~~~~~
[INFO] [stdout] 679 |     use std::array;
[INFO] [stdout]     |         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:614:22
[INFO] [stdout]     |
[INFO] [stdout] 614 |             for _ in 0..size {
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:657:28
[INFO] [stdout]     |
[INFO] [stdout] 657 |     if let Some(pos) = buf[idx..].windows(2).position(|w| w == b"\r\n") {
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:663:22
[INFO] [stdout]     |
[INFO] [stdout] 663 |                 &buf[idx..idx + cmp::min(pos, 10)]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:209:60
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 ptr::copy_nonoverlapping(src.as_ptr(), dst[off..].as_mut_ptr(), cnt);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:38:38
[INFO] [stdout]     |
[INFO] [stdout] 38  |         $this.copy_to_slice(&mut buf[mem::size_of::<$typ>() - ($len_to_read)..]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 620 |         buf_get_impl!(be => self, u64, nbytes);
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `buf_get_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:38:38
[INFO] [stdout]     |
[INFO] [stdout] 38  |         $this.copy_to_slice(&mut buf[mem::size_of::<$typ>() - ($len_to_read)..]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 662 |         buf_get_impl!(be => self, i64, nbytes);
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `buf_get_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:840:23
[INFO] [stdout]     |
[INFO] [stdout] 840 |         *self = &self[cnt..];
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:857:23
[INFO] [stdout]     |
[INFO] [stdout] 857 |         *self = &self[cnt..];
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:881:34
[INFO] [stdout]     |
[INFO] [stdout] 881 |         &self.get_ref().as_ref()[pos as usize..]
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:232:25
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     src[off..].as_ptr(),
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:681:41
[INFO] [stdout]     |
[INFO] [stdout] 681 |         self.put_slice(&n.to_be_bytes()[mem::size_of_val(&n) - nbytes..]);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:704:41
[INFO] [stdout]     |
[INFO] [stdout] 704 |         self.put_slice(&n.to_le_bytes()[0..nbytes]);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:727:41
[INFO] [stdout]     |
[INFO] [stdout] 727 |         self.put_slice(&n.to_be_bytes()[mem::size_of_val(&n) - nbytes..]);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:750:41
[INFO] [stdout]     |
[INFO] [stdout] 750 |         self.put_slice(&n.to_le_bytes()[0..nbytes]);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:936:65
[INFO] [stdout]     |
[INFO] [stdout] 936 |         unsafe { &mut UninitSlice::from_raw_parts_mut(ptr, cap)[len..] }
[INFO] [stdout]     |                                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/bytes/buf/uninit_slice.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         unsafe { self[index..].as_mut_ptr().write(byte) }
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/bytes/buf/writer.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |         self.buf.put(&src[0..n]);
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/bytes.rs:572:55
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 inner: Inner::from_slice_inline(&self[begin..end]),
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `ntex`
[INFO] [stdout]    --> src/codec_redis.rs:675:9
[INFO] [stdout]     |
[INFO] [stdout] 675 |     use ntex::codec::{Decoder, Encoder};
[INFO] [stdout]     |         ^^^^ use of undeclared crate or module `ntex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/bytes.rs:622:20
[INFO] [stdout]     |
[INFO] [stdout] 622 |         self.slice(sub_offset..(sub_offset + sub_len))
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:1591:48
[INFO] [stdout]      |
[INFO] [stdout] 1591 |             let ptr = &mut self.inner.as_raw()[len..];
[INFO] [stdout]      |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:2345:48
[INFO] [stdout]      |
[INFO] [stdout] 2345 |             let ptr = &mut self.inner.as_raw()[len..];
[INFO] [stdout]      |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `ntex`
[INFO] [stdout]    --> src/codec_redis.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |     use ntex::util::{ByteString, Bytes, BytesMut, HashMap};
[INFO] [stdout]     |         ^^^^ use of undeclared crate or module `ntex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:2768:41
[INFO] [stdout]      |
[INFO] [stdout] 2768 |                 let dst = self.as_raw()[len..].as_mut_ptr();
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:3215:41
[INFO] [stdout]      |
[INFO] [stdout] 3215 |                 let dst = self.as_raw()[len..].as_mut_ptr();
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/bytes/debug.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |             } else if (0x20..0x7f).contains(&c) {
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::BytesMut`, `crate::BytesVec`
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:975:17
[INFO] [stdout]     |
[INFO] [stdout] 975 |     use crate::{BytesMut, BytesVec};
[INFO] [stdout]     |                 ^^^^^^^^  ^^^^^^^^ no `BytesVec` in the root
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 no `BytesMut` in the root
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing one of these items instead:
[INFO] [stdout]             bytes::BytesMut
[INFO] [stdout]             crate::bytes::BytesMut
[INFO] [stdout]     = help: consider importing this struct through its public re-export instead:
[INFO] [stdout]             crate::bytes::BytesVec
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/connector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::RecvError`
[INFO] [stdout]  --> src/client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::mpsc::RecvError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Codec`
[INFO] [stdout]  --> src/client.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::codec_redis::{Codec, Request, Response};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/simple.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteString`
[INFO] [stdout]  --> src/simple.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bytes::{BufMut, BytesMut, ByteString};
[INFO] [stdout]   |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:572:49
[INFO] [stdout]     |
[INFO] [stdout] 572 |     let (pos, int_str) = if let Some(pos) = buf[idx..].windows(2).position(|w| w == b"\r\n") {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:573:30
[INFO] [stdout]     |
[INFO] [stdout] 573 |         (idx + pos + 2, &buf[idx..idx + pos])
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:614:22
[INFO] [stdout]     |
[INFO] [stdout] 614 |             for _ in 0..size {
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:657:28
[INFO] [stdout]     |
[INFO] [stdout] 657 |     if let Some(pos) = buf[idx..].windows(2).position(|w| w == b"\r\n") {
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec_redis.rs:663:22
[INFO] [stdout]     |
[INFO] [stdout] 663 |                 &buf[idx..idx + cmp::min(pos, 10)]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:209:60
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 ptr::copy_nonoverlapping(src.as_ptr(), dst[off..].as_mut_ptr(), cnt);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:38:38
[INFO] [stdout]     |
[INFO] [stdout] 38  |         $this.copy_to_slice(&mut buf[mem::size_of::<$typ>() - ($len_to_read)..]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 620 |         buf_get_impl!(be => self, u64, nbytes);
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `buf_get_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:38:38
[INFO] [stdout]     |
[INFO] [stdout] 38  |         $this.copy_to_slice(&mut buf[mem::size_of::<$typ>() - ($len_to_read)..]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 662 |         buf_get_impl!(be => self, i64, nbytes);
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `buf_get_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:840:23
[INFO] [stdout]     |
[INFO] [stdout] 840 |         *self = &self[cnt..];
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:857:23
[INFO] [stdout]     |
[INFO] [stdout] 857 |         *self = &self[cnt..];
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_impl.rs:881:34
[INFO] [stdout]     |
[INFO] [stdout] 881 |         &self.get_ref().as_ref()[pos as usize..]
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:232:25
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     src[off..].as_ptr(),
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:681:41
[INFO] [stdout]     |
[INFO] [stdout] 681 |         self.put_slice(&n.to_be_bytes()[mem::size_of_val(&n) - nbytes..]);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:704:41
[INFO] [stdout]     |
[INFO] [stdout] 704 |         self.put_slice(&n.to_le_bytes()[0..nbytes]);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:727:41
[INFO] [stdout]     |
[INFO] [stdout] 727 |         self.put_slice(&n.to_be_bytes()[mem::size_of_val(&n) - nbytes..]);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:750:41
[INFO] [stdout]     |
[INFO] [stdout] 750 |         self.put_slice(&n.to_le_bytes()[0..nbytes]);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/bytes/buf/buf_mut.rs:936:65
[INFO] [stdout]     |
[INFO] [stdout] 936 |         unsafe { &mut UninitSlice::from_raw_parts_mut(ptr, cap)[len..] }
[INFO] [stdout]     |                                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/bytes/buf/uninit_slice.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         unsafe { self[index..].as_mut_ptr().write(byte) }
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/bytes/buf/writer.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |         self.buf.put(&src[0..n]);
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/bytes.rs:572:55
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 inner: Inner::from_slice_inline(&self[begin..end]),
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/bytes/bytes.rs:622:20
[INFO] [stdout]     |
[INFO] [stdout] 622 |         self.slice(sub_offset..(sub_offset + sub_len))
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:1591:48
[INFO] [stdout]      |
[INFO] [stdout] 1591 |             let ptr = &mut self.inner.as_raw()[len..];
[INFO] [stdout]      |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:2345:48
[INFO] [stdout]      |
[INFO] [stdout] 2345 |             let ptr = &mut self.inner.as_raw()[len..];
[INFO] [stdout]      |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:2768:41
[INFO] [stdout]      |
[INFO] [stdout] 2768 |                 let dst = self.as_raw()[len..].as_mut_ptr();
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/bytes/bytes.rs:3215:41
[INFO] [stdout]      |
[INFO] [stdout] 3215 |                 let dst = self.as_raw()[len..].as_mut_ptr();
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/bytes/debug.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |             } else if (0x20..0x7f).contains(&c) {
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/connector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::RecvError`
[INFO] [stdout]  --> src/client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::mpsc::RecvError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Codec`
[INFO] [stdout]  --> src/client.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::codec_redis::{Codec, Request, Response};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/simple.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteString`
[INFO] [stdout]  --> src/simple.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::bytes::{BufMut, BytesMut, ByteString};
[INFO] [stdout]   |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/codec_redis.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]    --> src/bytes/string.rs:419:29
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let s: ByteString = serde_json::from_str(r#""nice bytes""#).unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]    --> src/bytes/string.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let s = serde_json::to_string(&ByteString::from_static("nice bytes")).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/codec_redis.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/simple.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut req = cmd.to_request();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/bytes/buf/uninit_slice.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     Range<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/bytes/buf/uninit_slice.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     Range<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/bytes/buf/uninit_slice.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     RangeFrom<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/bytes/buf/uninit_slice.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     RangeFrom<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/bytes/buf/uninit_slice.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     RangeInclusive<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/bytes/buf/uninit_slice.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     RangeInclusive<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/bytes/bytes.rs:550:37
[INFO] [stdout]     |
[INFO] [stdout] 550 |     pub fn slice(&self, range: impl RangeBounds<usize>) -> Bytes {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]   --> src/bytes/string.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |         range: impl ops::RangeBounds<usize> + slice::SliceIndex<str> + Clone,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/connector.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         conn.set_read_timeout(Some(timeout.clone()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = conn.set_read_timeout(Some(timeout.clone()));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/connector.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         conn.set_write_timeout(Some(timeout));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let _ = conn.set_write_timeout(Some(timeout));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | /                         s.send(match io_clone.send(&data){
[INFO] [stdout] 35 | |                             Ok(d)=>{
[INFO] [stdout] 36 | |                                 Ok(d)
[INFO] [stdout] 37 | |                             }
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |                             }
[INFO] [stdout] 41 | |                         });
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |                         let _ = s.send(match io_clone.send(&data){
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 self.queue.0.send((buf,tx));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 let _ = self.queue.0.send((buf,tx));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/simple.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         io.flush();
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = io.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mco-redis` (lib) due to 7 previous errors; 40 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/simple.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut req = cmd.to_request();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mco-redis` (lib test) due to 7 previous errors; 33 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8b025eb199b231f9e4941b8bb850951332c433f0b9ccc308dd9aeb40eba5b0c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b025eb199b231f9e4941b8bb850951332c433f0b9ccc308dd9aeb40eba5b0c7", kill_on_drop: false }`
[INFO] [stdout] 8b025eb199b231f9e4941b8bb850951332c433f0b9ccc308dd9aeb40eba5b0c7
